﻿/*----------------------------------------------------------------
    // Copyright (C) 2009 江苏华招网
    // 版权所有。 
    // 作者：庄金冬 
    //
    // 文件名：Factory.cs
    // 文件功能描述：接口工厂（由IBLL生成BLL）
    // 创建标识：庄金冬2009-03-06
    //
    // 修改标识：
    // 修改描述：
    //
    // 修改标识：
    // 修改描述：
    //
    // 审核人：
    // 审核时间：
    // 审核说明：
 //----------------------------------------------------------------*/

using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Reflection;
using HZ.DrugTrade.IBLL;
using HZ.DrugTrade.BLL;

namespace HZ.DrugTrade.BLLFactory
{
    /// <summary>
    /// BLL工厂:根据接口生成BLL
    /// </summary>
    public class Factory
    {
        #region MyRegion
        ////private static readonly string path = ConfigurationManager.AppSettings[""];
        //private static readonly string path = "HZ.DrugTrade.BLL.BLL_";

        ///// <summary>
        ///// 
        ///// </summary>
        ///// <param name="bllName">如：BLL_User</param>
        ///// <returns></returns>
        //public static object CreateBLL(string bllName)
        // {
        //     string className = path + bllName.Trim();
        //     return Assembly.Load(path).CreateInstance(className);
        // }

        // //public static IDAL.ITB_UserRule CreateTB_UserRule()
        // //{
        // //    string className = path + ".TB_UserRule";
        // //    return (IDAL.ITB_UserRule)Assembly.Load(path).CreateInstance(className);
        // //} 
        #endregion

        /// <summary>
        /// 生成BLL_Area
        /// </summary>
        /// <returns></returns>
        public static IBLL_Area BLL_Area()
        {
            return (IBLL_Area)new BLL_Area();
        }

        /// <summary>
        /// 生成BLL_SelectArea
        /// </summary>
        /// <returns></returns>
        public static IBLL_SelectArea BLL_SelectArea()
        {
            return (IBLL_SelectArea)new BLL_SelectArea();
        }

        /// <summary>
        /// 生成BLL_SelectRelation
        /// </summary>
        /// <returns></returns>
        public static IBLL_SelectRelation BLL_SelectRelation()
        {
            return (IBLL_SelectRelation)new BLL_SelectRelation();
        }
        /// <summary>
        /// 生成BLL_Role
        /// </summary>
        /// <returns></returns>
        public static IBLL_Role BLL_Role()
        {
            return (IBLL_Role)new BLL_Role();
        }

        /// <summary>
        /// 生成BLL_User
        /// </summary>
        /// <returns></returns>
        public static IBLL_User BLL_User()
        {
            return (IBLL_User)new BLL_User();
        }

        /// <summary>
        /// 生成BLL_OperatingRule
        /// </summary>
        /// <returns></returns>
        public static IBLL_OperatingRule BLL_OperatingRule()
        {
            return (IBLL_OperatingRule)new BLL_OperatingRule();
        }

        /// <summary>
        /// 生成BLL_ManageOrg
        /// </summary>
        /// <returns></returns>
        public static IBLL_ManageOrg BLL_ManageOrg()
        {
            return (IBLL_ManageOrg)new BLL_ManageOrg();
        }

        /// <summary>
        /// 生成BLL_Hospital
        /// </summary>
        /// <returns></returns>
        public static IBLL_Hospital BLL_Hospital()
        {
            return (IBLL_Hospital)new BLL_Hospital();
        }

        /// <summary>
        /// 生成BLL_Company
        /// </summary>
        /// <returns></returns>
        public static IBLL_Company BLL_Company()
        {
            return (IBLL_Company)new BLL_Company();
        }

        /// <summary>
        /// 生成BLL_Login
        /// </summary>
        /// <returns></returns>
        public static IBLL_Login BLL_Login()
        {
            return (IBLL_Login)new BLL_Login();
        }

        /// <summary>
        /// 生成BLL_Log
        /// </summary>
        /// <returns></returns>
        public static IBLL_Log BLL_Log()
        {
            return (IBLL_Log)new BLL_Log();
        }



        /// <summary>
        /// 生成BLL_ProcurementBasic
        /// </summary>
        /// <returns></returns>
        public static IBLL_ProcurementBasic BLL_ProcurementBasic()
        {
            return (IBLL_ProcurementBasic)new BLL_ProcurementBasic();
        }

        /// <summary>
        /// 生成BLL_Distribution
        /// </summary>
        /// <returns></returns>
        public static IBLL.IBLL_Distribution BLL_Distribution()
        {
            return (IBLL_Distribution)new BLL_Distribution();
        }

        /// <summary>
        /// 生成BLL_HospitalProcureCatalog
        /// </summary>
        /// <returns></returns>
        public static IBLL.IBLL_HospitalProcureCatalog BLL_HospitalProcureCatalog()
        {
            return (IBLL_HospitalProcureCatalog)new BLL_HospitalProcureCatalog();
        }

        /// <summary>
        /// 生成BLL_Goods
        /// </summary>
        /// <returns></returns>
        public static IBLL.IBLL_Goods BLL_Goods()
        {
            return (IBLL_Goods)new BLL_Goods();
        }


        /// <summary>
        /// 生成BLL_Purchase
        /// </summary>
        /// <returns></returns>
        public static IBLL.IBLL_Purchase BLL_Purchase()
        {
            return (IBLL_Purchase)new BLL_Purchase();
        }


        /// <summary>
        /// 生成BLL_FlowEngine
        /// </summary>
        /// <returns></returns>
        public static IBLL.IBLL_FlowEngine BLL_FlowEngine()
        {
            return (IBLL_FlowEngine)new BLL_FlowEngine();
        }
        /// <summary>
        /// 获取汇总统计接口
        /// </summary>
        /// <returns></returns>
        public static IBLL.IBLL_Statistics BLL_Statistics()
        {
            return (IBLL_Statistics)new BLL_Statistics();
        }

        /// <summary>
        /// 消息部分接口
        /// </summary>
        /// <returns></returns>
        public static IBLL.IBLL_Message BLL_Message()
        {
            return (IBLL_Message)new BLL_Message();
        }
        /// <summary>
        /// 生成BLL_Sort
        /// </summary>
        /// <returns></returns>
        public static IBLL_Sort IBLL_Sort()
        {
            return (IBLL_Sort)new BLL_Sortcs();
        }

        /// <summary>
        /// 返回业务层BLL_CustomGoods实例
        /// </summary>
        /// <returns></returns>
        public static IBLL_CustomGoods BLL_CustomGoods()
        {
            return (IBLL_CustomGoods)new BLL_CustomGoods();
        }

        /// <summary>
        /// 返回业务层BLL_HospitalLoginPriceGoods实例                     [删除医疗机构填报信息请删除此类]
        /// </summary>
        /// <returns></returns>
        public static IBLL_HospitalLoginPriceGoods BLL_HospitalLoginPriceGoods()
        {
            return (IBLL_HospitalLoginPriceGoods)new BLL_HospitalLoginPriceGoods();
        }
        /// <summary>
        /// / 返回业务层BLL_AreaDistributionDelLog实例 [记录企业删除配送企业记录]
        /// </summary>
        /// <returns></returns>
        public static IBLL_AreaDistributionDelLog BLL_AreaDistributionDelLog()
        {
            return (IBLL_AreaDistributionDelLog)new BLL_AreaDistributionDelLog();
        }

    }
}
